package cn.ly.queue;

public class PriorQueue{
	private int[] arr;
	private int size;
	private int nItem;
	
	public PriorQueue(int size){
		this.size = size;
		arr = new int[size];
		nItem = 0;
	}

	public void insert(int value) {
		int j;//元素插入位置，
		if(nItem == 0){
			arr[nItem++] = value;
		}else{
			for(j=nItem-1; j>=0; j--){//插入时，需要排序，所以需要找到合适的位置
				if(value > arr[j]){
					arr[j+1] = arr[j];//j+1位置是空出来的，所以向后j+1的位置移动
				}else{
					break;
				}
			}
			arr[j+1] = value;         //j+1位置是空出来的
			nItem++;
		}
	}
	
	public int remove(){
		return arr[--nItem];
	}
	
	public int getItems(){
		return nItem;
	}
	
	public int peek(){
		return arr[nItem-1];
	}
	
	public boolean isEmpty(){
		return nItem == 0;
	}
	
	public boolean isFull(){
		return nItem == size;
	}
	
	


}
